「CSA Data Uploader」と「CSA JMC」を連携稼働させてオンプレ環境からのスムーズなデータアップロード&DWHへのデータ取り込みを実現する #データ統合基盤 #CSアナリティクス
当エントリは『クラスメソッド CSアナリティクス Advent Calendar 2020』18日目のエントリです。
- クラスメソッド CSアナリティクス Advent Calendar 2020 - Qiita
- クラスメソッド CSアナリティクス Advent Calendar 2020 | 特集カテゴリー | Developers.IO
- ビッグデータ分析支援のカスタマーストーリーアナリティクス|クラスメソッド|クラスメソッドのサービス
当エントリでは、クラスメソッドが展開しているデータ統合基盤サービス『CSアナリティクス』(以降"CSA")のプロダクト「CSA Data Uploader」と「CSA JMC」を連動させる仕組みについて紹介します。
目次
- 「CSA Data Uploader」と「CSA JMC」を連動させると何が嬉しいのか
- CSA Data Uploader x CSA JMC連携イメージ
- CSA Data Uploader x CSA JMC連携の実践
- (1). [JMC] APIトークンの取得
- (2). [JMC] 連動対象となるジョブを作成
- (3). [DU] ジョブの作成と「JMC連携」の設定
- (4). [DU][JMC] CSA Data Uploader x CSA JMCの連携実行&確認
- まとめ
「CSA Data Uploader」と「CSA JMC」を連動させると何が嬉しいのか
現在、CSアナリティクスが提供しているプロダクトは2つあります。1つは任意のデータソースやファイル情報を指定のクラウドストレージ環境へアップロードする機能を有する「CSA Data Uploader」。そしてもう1つは任意のクラウドストレージ環境に存在するデータを指定のクラウドDWH環境に取り込み、ジョブ実行を管理する機能を有する「CSA JMC(Job Management Console)」です。
それぞれのサービスは「クラウドストレージ」を境界として繋がる形となりますが、プロダクト間のアクションとして「CSA Data Uploaderでデータをクラウドストレージにアップロードしたら、そのままの流れでCSA JMCによるデータのDWHへの取り込みを行いたい」というケースも出てくるかと思います。当エントリで紹介する機能はそんな要望を実現するものとなります。
CSA Data Uploader x CSA JMC連携イメージ
設定・連動イメージをもう少し詳しく図示すると以下の様になります。カッコ数字付きの処理順序と当エントリでこの後解説する見出し項番が対応するイメージです。
CSA Data Uploader x CSA JMC連携の実践
ここからは、実際に「CSA Data Uploader x CSA JMC」の連携を実践してみた内容について順を追って説明していきます。(※以後、見出しレベルで用いる略称はそれぞれ以下正式名称となります。)
- DU: CSA Data Uploader
- JMC: CSA Job Management Console
(1). [JMC] APIトークンの取得
CSA JMCジョブへの連動を行うには、該当JMC環境内における「APIトークン」が必要となります。所定のユーザーでJMCにログイン後、ユーザーメニューの[個人設定]を選択、
[Web API]タブにて[トークンの更新]を押下。
トークン発行を促されれるので従います。
発行時のユーザー名とWeb APIトークン情報はそれぞれ控えておいてください。
(2). [JMC] 連動対象となるジョブを作成
続いて、連動対象となるCSA JMCのジョブを作成します。CSA JMC上で任意のジョブを作成。
ここでは、任意のテーブルに対してデータを取り込む「データ連携」の処理(構成要素)を含むジョブを用意してみました。このジョブを実行すると、予めアップロードされているクラウドストレージ(今回はDWHをRedshiftとしたのでAmazon S3)上のデータを、作成済のテーブルに取り込む(=RedshiftにおけるCOPYコマンド)処理を行います。
そして、ジョブの実行予定時刻の設定変更を行います。APIトークンを発行すると、実行予定時刻に「Data Uploader連携」というのが選べるようになるのでまずはこれを指定、そして連動するスケジュールについては想定するものに該当するものを指定します。今回は日次サイクル間隔でData Uploaderから連動させたかったのでここは「日次」で行きました。保存することで画面右上の実行想定サイクル部分と、
ジョブ一覧における「実行サイクル」の表記が設定を反映したものとなります。
この時に作成を行った「サイト」のIDについても、合わせて控えておいてください。サイトIDは[サイト管理]→[サイト設定]の[基本情報]タブで確認出来ます。
(3). [DU] ジョブの作成と「JMC連携」の設定
CSA Data Uploader側にもCSA JMCとの連携を行うための設定が必要となります。CSA Data Uploaderにログインし、メニューから[設定]→[JMC連携]を選択。
[追加]を押下。
CSA Data Uploaderが各種データソース接続を行うために必要な接続情報を作成するのと同じ流れで、CSA JMCに関する連携設定を以下のような形で行います。一通りの値が設定出来たら[テスト]押下でアクセスが出来ているか確認し、[保存]を押下。
CSA Data UploaderがCSA JMCで管理されている(Amazon Redshiftがデータを取り込む際に利用している)Amazon S3にアクセスする際の接続が必要であれば改めてこのタイミングで接続を用意しておいてください。
CSA Data Uploaderとして、Amazon S3にアップロードするためのジョブを作成します。
処理内容(入力〜変換〜出力)部分の詳細解説に関しては割愛します。最終的にはAmazon S3にファイルをアップロードしている流れです。ここでのポイントはスケジュール以下青枠線で囲った部分です。
- スケジュール:Data Uploaderの当該ジョブを稼働させたい実行スケジュールを指定。ここではJMC側の設定と合わせる形で、日次稼働する設定にしています。
- JMC連携:JMC連携を行いたい場合は[連携する]を選択。選択することで「連携JMCプロジェクト名」以下の項目が選択・設定出来るようになります。
- 連携JMCプロジェクト名:連携を行いたいJMC環境に繋がる、Data Uploaderで予め用意した「JMC連携設定」を選択。
- 実行ジョブ名:連動させたいジョブを選択。「JMC連携設定」を選択することで、連携可能なジョブの一覧が候補として出てくる形になります。
- JMCジョブ実行方法:JMCジョブ実行に関する挙動を選択。
ちなみに「JMC連携」については、Data Uploader側の「即時実行」から稼働させることは出来ないようになっています。
(4). [DU][JMC] CSA Data Uploader x CSA JMCの連携実行&確認
これで一連の準備が整いました。CSA Data Uploaderの対象ジョブの[スケジュール設定]を有効にします。
そして時間が来るのを待ちます。時間が来てまずはCSA Data Uploaderのジョブが稼働しました。
上記確認後にCSA JMCのジョブ履歴画面をリロードし、JMCのジョブが動いているかどうか確認します。程なくしてJMCのジョブも動き始めました。
そしてJMCのジョブも実行完了。
該当JMCジョブの実行履歴も合わせて確認してみます。データ連携設定が上手く動いていることが確認出来ました。
このように、CSAプロダクトを組み合わせることで「オンプレミスを想定した環境からのデータアップロード」と「アップロードしたデータを速やかにDWHに取り込む」という処理をスムーズに連携させることが可能です。今回紹介した内容で実際の利用イメージをお持ち頂けたのであれば幸いです。
まとめ
という訳で、『クラスメソッド CSアナリティクス Advent Calendar 2020』18本目のエントリ、CSA Data Uploaderの『設定可能なスケジュールサイクル』に関する内容の紹介でした。
CSA Data Uploaderは1ヶ月間のトライアル利用が可能となっています。興味をお持ち頂いた方は是非無料版ダウンロードページからインストーラを入手頂き、お試し頂けますと幸いです。
では、明日(18日目)のエントリもお楽しみに!